package com.abocode.aichat.server.modules;

import com.abocode.aichat.data.ModuleType;
import com.abocode.aichat.data.ServerContextName;
import com.abocode.aichat.data.MessageStanza;
import com.abocode.aichat.server.context.channel.ChannelWrapper;
import com.abocode.aichat.server.context.delivery.reply.Replies;

/**
 * @author guanxf
 */
public interface ModuleHandler extends ServerContextName {

     ModuleType modeType();

     boolean verify(ChannelWrapper channelWrapper, MessageStanza stanza);

     boolean isChannelReady();

     Replies service(ChannelWrapper channelWrapper, MessageStanza stanza);

     Replies handler(ChannelWrapper channelWrapper, MessageStanza stanza);

}
